/*
 * Copyright (c) Hunan Goke,Chengdu Goke,Shandong Goke. 2021. All rights reserved.
 */
#ifndef __IMX307_CMOS_EX_H_
#define __IMX307_CMOS_EX_H_

#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif

static const ISP_CMOS_LCAC_S g_stIspLCac = {

    /*bEnable*/
    1,
    /*u16PurpleDetRange*/
    30,
    /*VarThr*/
    0,
    /*au16RLumaThd*/
    { 1500, 1500, 0 },
    /*au16GLumaThd*/
    { 1500, 1500, 0 },
    /*au16BLumaThd*/
    { 4095, 1500, 0 },
    /*au16YLumaThd*/
    { 3200, 1500, 0 },
    /*as16CbCrRatio*/
    { -50, -50, -50 },
    /*enOpMode*/
    0,
    /*stManual*/
    { // u8DePurpleCrStr
        0,
        // u8DePurpleCbStr
        3 },
    /*stAuto*/
    { // u8DePurpleCrStr
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
        // u8DePurpleCbStr
        { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 } }
};

static const ISP_CMOS_LCAC_S g_stIspLCacWdr = {

    /*bEnable*/
    1,
    /*u16PurpleDetRange*/
    30,
    /*VarThr*/
    130,
    /*au16RLumaThd*/
    { 1500, 1500, 0 },
    /*au16GLumaThd*/
    { 1500, 1500, 0 },
    /*au16BLumaThd*/
    { 4095, 1500, 0 },
    /*au16YLumaThd*/
    { 3200, 1500, 0 },
    /*as16CbCrRatio*/
    { -50, -50, -50 },
    /*enOpMode*/
    0,
    /*stManual*/
    { // u8DePurpleCrStr
        0,
        // u8DePurpleCbStr
        3 },
    /*stAuto*/
    { // u8DePurpleCrStr
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
        // u8DePurpleCbStr
        { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 } }
};

static const ISP_CMOS_DPC_S g_stCmosDpc = {
    /* ISO */
    /* 100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400, 3276800 */
    { 0, 0, 0, 152, 160, 180, 180, 180, 190, 180, 152, 152, 152, 152, 152,
        152 }, /* au16Strength[16] */
    { 0, 0, 0, 0, 0, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
        50 }, /* au16BlendRatio[16] */
    0, /* 0 for after drc, 1 for before wdr */
};

static const ISP_CMOS_GE_S g_stIspGe = {
    /* For GE */
    0, /* bEnable */
    13, /* u8Slope */
    13, /* u8SensiSlope */
    4800, /* u16SensiThr */
    /* ISO */
    /*   1,    2,      4,     8,    16,    32,    64,   128,   256,   512,  1024,  2048,  4096,  8192, 16384, 32768 */
    { 4800, 4800, 4800, 4800, 4960, 4960, 4960, 4960, 5120, 5120, 5120,
        5120, 5280, 5280, 5280,
        5280 }, /* au16Threshold[ISP_AUTO_ISO_STRENGTH_NUM] */
    { 128, 128, 128, 128, 129, 129, 129, 129, 130, 130, 130, 130, 131, 131,
        131, 131 }, /* au16Strength[ISP_AUTO_ISO_STRENGTH_NUM] */
    { 16384, 16384, 16384, 16384, 16384, 32768, 32768, 32768, 32768, 32768,
        32768, 32768, 32768, 32768, 32768,
        32768 } /* au16NpOffset[ISP_AUTO_ISO_STRENGTH_NUM] */
};

static const ISP_CMOS_GE_S g_stIspWdrGe = {
    /* For GE */
    0, /* bEnable */
    13, /* u8Slope */
    13, /* u8SensiSlope */
    4800, /* u16SensiThr */

    /* ISO */
    /*  1,    2,    4,    8,   16,   32,   64,   128,  256,  512, 1024, 2048, 4096, 8192,16384, 32768 */
    { 4800, 4800, 4800, 4800, 4960, 4960, 4960, 4960, 5120, 5120, 5120,
        5120, 5280, 5280, 5280,
        5280 }, /* au16Threshold[ISP_AUTO_ISO_STRENGTH_NUM] */
    { 128, 128, 128, 128, 129, 129, 129, 129, 130, 130, 130, 130, 131, 131,
        131, 131 }, /* au16Strength[ISP_AUTO_ISO_STRENGTH_NUM] */
    { 16384, 16384, 16384, 16384, 16384, 32768, 32768, 32768, 32768, 32768,
        32768, 32768, 32768, 32768, 32768,
        32768 } /* au16NpOffset[ISP_AUTO_ISO_STRENGTH_NUM] */
};

static const ISP_CMOS_DEMOSAIC_S g_stIspDemosaic = {
    1, // bEnable
    /* 1,    2,    4,    8,   16,   32,   64,  128,  256,  512, 1024, 2048, 4096, 8192,16384,32768 */
    /* au8NonDirStr */
    { 64, 64, 64, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 },
    /* au8NonDirMFDetailEhc */
    { 48, 48, 40, 40, 30, 30, 30, 30, 22, 16, 16, 16, 16, 16, 16, 16 },
    /* au8NonDirHFDetailEhc */
    { 0, 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7 },
    /* au8DetailSmoothRange */
    { 2, 2, 2, 2, 2, 2, 3, 4, 5, 5, 7, 7, 7, 7, 7, 7 },
};

static const ISP_CMOS_DEMOSAIC_S g_stIspDemosaicWdr = {
    1, // bEnable
    /* 1,    2,    4,    8,   16,   32,   64,  128,  256,  512, 1024, 2048, 4096, 8192,16384,32768 */
    /* au8NonDirStr */
    { 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64 },
    /* au8NonDirMFDetailEhc */
    { 55, 55, 50, 45, 40, 35, 30, 25, 22, 16, 16, 16, 16, 16, 16, 16 },
    /* au8NonDirHFDetailEhc */
    { 0, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5 },
    /* au8DetailSmoothRange */
    { 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 7, 7, 7, 7, 7, 7 },
};

static const ISP_CMOS_ANTIFALSECOLOR_S g_stIspAntiFalseColor = {
    1, /* bEnable */
    /* 1,    2,    4,    8,   16,   32,   64,   128,   256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 10, 10, 8, 8, 7, 7, 7, 6, 6, 6, 5, 4, 3, 2, 1,
        0 }, /* au8AntiFalseColorThreshold */
    { 8, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 4, 3, 2, 1,
        0 }, /* au8AntiFalseColorStrength */
};

static const ISP_CMOS_ANTIFALSECOLOR_S g_stIspWdrAntiFalseColor = {
    1, /* bEnable */
    /* 1,    2,    4,    8,   16,   32,   64,   128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1,
        0 }, /* au8AntiFalseColorThreshold */
    { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1,
        0 }, /* au8AntiFalseColorStrength */
};

/***BAYER NR**/
static ISP_CMOS_NOISE_CALIBRATION_S g_stIspNoiseCalibration = {
    10, // Calibration Lut Num
    /*************Calibration LUT Table*************/
    { { 100.000000f, 0.025472f, 0.008370f },
        { 200.000000f, 0.051026f, 0.020051f },
        { 400.000000f, 0.100380f, 0.002657f },
        { 800.000000f, 0.199705f, 0.024892f },
        { 1600.000000f, 0.397814f, 0.118102f },
        { 3200.000000f, 0.792300f, 0.443096f },
        { 6400.000000f, 1.554968f, 2.329596f },
        { 12800.000000f, 3.029946f, 11.217048f },
        { 25600.000000f, 5.870243f, 45.309135f },
        { 51200.000000f, 10.794330f, 187.701797f } }
    /*********************************************/
};

static const ISP_CMOS_BAYERNR_S g_stIspBayerNr = {
    1, // bEnable
    0, // bBnrMonoSensorEn
    0, // bNrLscEnable
    96, // u8BnrLscMaxGain
    256, // u16BnrLscCmpStrength
    { 65, 65, 65, 65, 65, 65, 60, 55, 48, 46, 30, 16, 16, 16, 16,
        16 }, // FineStr
    {
        { 0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
            3 }, // ChromaStrR
        { 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
            2 }, // ChromaStrGr
        { 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
            2 }, // ChromaStrGb
        { 0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3 } // ChromaStrB
    },
    { 0, 0, 0, 0 }, // WDRFrameStr
    { 0, 0, 0, 0 }, // FusionFrameStr
    {
        { 120, 140, 180, 200, 240, 280, 300, 320, 340, 380, 340, 340,
            300, 300, 280, 280 }, // CoarseStrR
        { 108, 110, 115, 125, 135, 160, 180, 180, 180, 180, 160, 160,
            148, 148, 138, 138 }, // CoarseStrGR
        { 108, 110, 115, 125, 135, 160, 180, 180, 180, 180, 160, 160,
            148, 148, 138, 138 }, // CoarseStrGB
        { 120, 140, 180, 200, 240, 280, 300, 300, 340, 380, 340, 340,
            300, 300, 280, 280 } // CoarseStrB
    },
    { 30, 30, 30, 20, 20, 20, 22, 25, 25, 30, 30, 30, 30, 30, 30,
        30 }, // lutCoringWeight
    { 10, 20, 40, 80, 100, 100, 100, 100, 100, 100, 100,
        100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
        100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 }, // CoringRatio
};

static const ISP_CMOS_BAYERNR_S g_stIspBayerNrWdr2To1 = {
    1, // bEnable
    0, // bBnrMonoSensorEn
    0, // bNrLscEnable
    96, // u8BnrLscMaxGain
    256, // u16BnrLscCmpStrength
    { 100, 90, 80, 70, 60, 50, 40, 30, 20, 16, 16, 16, 16, 16, 16,
        16 }, // FineStr
    {
        { 0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
            3 }, // ChromaStrR
        { 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
            2 }, // ChromaStrGr
        { 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
            2 }, // ChromaStrGb
        { 0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3 } // ChromaStrB
    },
    { 16, 6, 12, 0 }, // WDRFrameStr
    { 16, 6, 0, 0 }, // FusionCoarseStr
    {
        { 120, 125, 130, 135, 140, 145, 150, 155, 160, 160, 160, 160,
            160, 160, 160, 160 }, // CoarseStrR
        { 100, 105, 110, 115, 120, 125, 130, 135, 140, 140, 140, 140,
            140, 140, 140, 140 }, // CoarseStrGR
        { 100, 105, 110, 115, 120, 125, 130, 135, 140, 140, 140, 140,
            140, 140, 140, 140 }, // CoarseStrGB
        { 120, 125, 130, 135, 140, 145, 150, 155, 160, 160, 160, 160,
            160, 160, 160, 160 }, // CoarseStrB
    },
    { 25, 25, 25, 25, 25, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
        30 }, // lutCoringWeight
    { 10, 20, 40, 80, 100, 100, 100, 100, 100, 100, 100,
        100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
        100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 }, // coring ratio
};

static const ISP_CMOS_LDCI_S g_stIspLdci = {
    /* bEnable */
    1,
    /* u8GaussLPFSigma */
    20,

    /* 1,   2,   4,   8,  16,  32,  64,  128, 256, 512,1024,2048,4096,8192,16384,32768 */
    /* au8HePosWgt */
    { 120, 100, 90, 80, 70, 60, 30, 20, 10, 0, 0, 0, 0, 0, 0, 0 },
    /* au8HePosSigma */
    { 90, 80, 80, 80, 60, 48, 20, 10, 10, 8, 6, 2, 1, 1, 1, 1 },
    /* au8HePosMean */
    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
    /* au8HeNegWgt */
    { 32, 32, 45, 45, 45, 24, 12, 8, 6, 0, 0, 0, 0, 0, 0, 0 },
    /* au8HeNegSigma */
    { 46, 46, 80, 80, 80, 72, 64, 54, 36, 8, 6, 2, 1, 1, 1, 1 },
    /* au8HeNegMean */
    { 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
    /* au16BlcCtrl */
    { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }
};

static const ISP_CMOS_LDCI_S g_stIspWdrLdci = {
    /* bEnable */
    1,
    /* u8GaussLPFSigma */
    36,
    /* 1,   2,   4,   8,  16,  32,  64,  128,  256, 512,1024,2048,4096,8192,16384,32768 */
    /* au8HePosWgt */
    { 16, 16, 12, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
    /* au8HePosSigma */
    { 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80 },
    /* au8HePosMean */
    { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 },
    /* au8HeNegWgt */
    { 32, 32, 32, 45, 45, 24, 12, 8, 6, 0, 0, 0, 0, 0, 0, 0 },
    /* au8HeNegSigma */
    { 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80 },
    /* au8HeNegMean */
    { 180, 180, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
    /* au16BlcCtrl */
    { 20, 20, 20, 20, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 }
};

static const ISP_CMOS_GAMMA_S g_stIspGamma = {
    /* au16Gamma[GAMMA_EXT_NODE_NUMBER] */
    { 0, 19, 38, 58, 77, 97, 117, 137, 156, 176, 195,
        215, 234, 253, 272, 290, 308, 326, 344, 364, 383, 401,
        419, 436, 453, 470, 487, 504, 521, 539, 557, 576, 596,
        617, 627, 637, 648, 658, 669, 679, 690, 701, 712, 723,
        734, 745, 757, 768, 779, 791, 803, 815, 827, 839, 851,
        863, 876, 888, 901, 914, 927, 940, 953, 967, 981, 987,
        994, 1001, 1008, 1015, 1022, 1029, 1036, 1043, 1051, 1058, 1066,
        1073, 1081, 1088, 1096, 1104, 1111, 1119, 1127, 1135, 1143, 1150,
        1158, 1166, 1174, 1182, 1190, 1198, 1206, 1214, 1222, 1230, 1238,
        1246, 1254, 1262, 1270, 1278, 1286, 1294, 1302, 1310, 1318, 1326,
        1334, 1341, 1349, 1357, 1365, 1372, 1380, 1387, 1395, 1402, 1409,
        1417, 1424, 1431, 1438, 1445, 1452, 1459, 1466, 1472, 1479, 1485,
        1492, 1499, 1505, 1511, 1518, 1524, 1531, 1537, 1543, 1549, 1556,
        1562, 1568, 1574, 1580, 1586, 1592, 1598, 1604, 1610, 1616, 1622,
        1628, 1634, 1639, 1645, 1651, 1657, 1663, 1668, 1674, 1680, 1685,
        1691, 1697, 1702, 1708, 1713, 1719, 1724, 1730, 1736, 1741, 1747,
        1752, 1758, 1763, 1769, 1774, 1780, 1785, 1790, 1796, 1801, 1807,
        1812, 1818, 1823, 1829, 1834, 1840, 1845, 1850, 1856, 1861, 1867,
        1872, 1877, 1883, 1888, 1893, 1899, 1904, 1909, 1915, 1920, 1925,
        1930, 1936, 1941, 1946, 1951, 1957, 1962, 1967, 1972, 1977, 1982,
        1988, 1993, 1998, 2003, 2008, 2013, 2018, 2023, 2028, 2033, 2038,
        2043, 2048, 2053, 2058, 2063, 2068, 2073, 2078, 2082, 2087, 2092,
        2097, 2102, 2107, 2111, 2116, 2121, 2126, 2131, 2135, 2140, 2145,
        2149, 2154, 2159, 2164, 2168, 2173, 2177, 2182, 2187, 2191, 2196,
        2200, 2205, 2210, 2214, 2219, 2223, 2228, 2232, 2237, 2241, 2246,
        2250, 2254, 2259, 2263, 2268, 2272, 2276, 2281, 2285, 2289, 2294,
        2298, 2302, 2307, 2311, 2315, 2319, 2324, 2328, 2332, 2336, 2340,
        2344, 2349, 2353, 2357, 2361, 2365, 2369, 2373, 2377, 2381, 2385,
        2389, 2393, 2397, 2401, 2405, 2409, 2413, 2416, 2420, 2424, 2428,
        2432, 2436, 2439, 2443, 2447, 2450, 2454, 2458, 2461, 2465, 2468,
        2472, 2475, 2479, 2482, 2486, 2489, 2493, 2496, 2500, 2503, 2506,
        2510, 2513, 2516, 2520, 2523, 2526, 2529, 2533, 2536, 2539, 2542,
        2546, 2549, 2552, 2555, 2558, 2561, 2565, 2568, 2571, 2574, 2577,
        2580, 2583, 2586, 2590, 2593, 2596, 2599, 2602, 2605, 2608, 2611,
        2614, 2617, 2621, 2624, 2627, 2630, 2633, 2636, 2639, 2642, 2646,
        2649, 2652, 2656, 2659, 2662, 2665, 2668, 2671, 2674, 2677, 2680,
        2683, 2686, 2690, 2693, 2696, 2699, 2702, 2705, 2708, 2711, 2714,
        2717, 2720, 2723, 2726, 2729, 2732, 2735, 2738, 2741, 2744, 2747,
        2750, 2753, 2756, 2759, 2762, 2764, 2767, 2770, 2773, 2776, 2779,
        2782, 2785, 2788, 2791, 2794, 2796, 2799, 2802, 2805, 2808, 2811,
        2814, 2817, 2820, 2822, 2825, 2828, 2831, 2834, 2837, 2840, 2843,
        2845, 2848, 2851, 2853, 2856, 2859, 2862, 2865, 2868, 2871, 2874,
        2877, 2879, 2882, 2885, 2887, 2890, 2893, 2896, 2899, 2901, 2904,
        2907, 2909, 2912, 2915, 2918, 2920, 2923, 2926, 2929, 2932, 2934,
        2937, 2940, 2942, 2945, 2948, 2951, 2954, 2956, 2959, 2962, 2964,
        2966, 2969, 2972, 2974, 2977, 2980, 2983, 2986, 2988, 2991, 2994,
        2996, 2998, 3001, 3004, 3006, 3009, 3012, 3015, 3018, 3020, 3023,
        3026, 3028, 3031, 3033, 3035, 3038, 3040, 3043, 3046, 3048, 3051,
        3054, 3057, 3059, 3062, 3064, 3066, 3069, 3071, 3074, 3077, 3080,
        3082, 3085, 3088, 3090, 3093, 3095, 3097, 3100, 3102, 3105, 3108,
        3110, 3113, 3115, 3117, 3120, 3122, 3125, 3128, 3130, 3133, 3135,
        3138, 3140, 3143, 3145, 3147, 3150, 3152, 3155, 3158, 3160, 3163,
        3165, 3167, 3170, 3172, 3175, 3178, 3180, 3183, 3185, 3187, 3189,
        3192, 3194, 3196, 3199, 3201, 3204, 3207, 3209, 3211, 3214, 3217,
        3219, 3222, 3224, 3226, 3228, 3231, 3233, 3235, 3238, 3241, 3243,
        3245, 3247, 3250, 3252, 3254, 3257, 3260, 3262, 3264, 3267, 3269,
        3271, 3273, 3276, 3279, 3281, 3283, 3286, 3288, 3290, 3292, 3295,
        3298, 3300, 3302, 3305, 3307, 3309, 3311, 3313, 3316, 3318, 3320,
        3322, 3325, 3327, 3329, 3332, 3335, 3337, 3339, 3342, 3344, 3346,
        3348, 3350, 3353, 3355, 3357, 3360, 3362, 3364, 3366, 3368, 3371,
        3373, 3375, 3378, 3380, 3382, 3384, 3386, 3389, 3391, 3393, 3396,
        3398, 3400, 3402, 3405, 3407, 3409, 3411, 3413, 3416, 3418, 3420,
        3423, 3425, 3427, 3429, 3431, 3434, 3436, 3438, 3441, 3443, 3445,
        3447, 3449, 3452, 3454, 3456, 3459, 3461, 3463, 3465, 3467, 3469,
        3471, 3473, 3475, 3478, 3480, 3482, 3484, 3487, 3489, 3491, 3494,
        3496, 3498, 3500, 3502, 3504, 3506, 3508, 3511, 3513, 3515, 3517,
        3519, 3521, 3523, 3525, 3528, 3530, 3532, 3534, 3536, 3538, 3540,
        3542, 3545, 3547, 3549, 3551, 3553, 3555, 3557, 3559, 3561, 3564,
        3566, 3568, 3570, 3572, 3574, 3576, 3578, 3581, 3583, 3585, 3587,
        3589, 3591, 3593, 3595, 3598, 3600, 3602, 3604, 3606, 3608, 3610,
        3612, 3614, 3616, 3618, 3620, 3622, 3624, 3626, 3628, 3631, 3633,
        3635, 3637, 3639, 3641, 3643, 3645, 3647, 3649, 3651, 3653, 3655,
        3657, 3659, 3661, 3663, 3665, 3667, 3670, 3672, 3674, 3676, 3678,
        3680, 3682, 3684, 3686, 3688, 3690, 3692, 3694, 3696, 3698, 3700,
        3702, 3704, 3706, 3708, 3710, 3712, 3714, 3716, 3718, 3720, 3722,
        3724, 3726, 3728, 3730, 3732, 3734, 3736, 3738, 3740, 3742, 3744,
        3746, 3748, 3750, 3752, 3754, 3756, 3758, 3760, 3762, 3764, 3766,
        3767, 3769, 3771, 3773, 3775, 3777, 3779, 3781, 3783, 3785, 3787,
        3789, 3791, 3793, 3795, 3797, 3799, 3801, 3803, 3804, 3806, 3808,
        3810, 3812, 3814, 3816, 3818, 3820, 3822, 3824, 3826, 3828, 3830,
        3832, 3834, 3836, 3837, 3839, 3841, 3843, 3845, 3847, 3849, 3851,
        3853, 3855, 3857, 3858, 3860, 3862, 3864, 3866, 3868, 3870, 3872,
        3873, 3875, 3877, 3879, 3881, 3883, 3885, 3887, 3888, 3890, 3892,
        3894, 3896, 3898, 3900, 3902, 3904, 3905, 3907, 3909, 3911, 3913,
        3915, 3917, 3919, 3920, 3922, 3924, 3926, 3928, 3930, 3932, 3934,
        3935, 3937, 3939, 3941, 3943, 3945, 3947, 3949, 3950, 3952, 3954,
        3955, 3957, 3959, 3961, 3963, 3965, 3967, 3969, 3971, 3972, 3974,
        3976, 3977, 3979, 3981, 3983, 3985, 3987, 3989, 3991, 3993, 3994,
        3996, 3998, 4000, 4001, 4003, 4005, 4006, 4008, 4010, 4012, 4014,
        4016, 4018, 4020, 4022, 4023, 4025, 4027, 4028, 4030, 4032, 4034,
        4036, 4037, 4039, 4041, 4042, 4044, 4046, 4048, 4050, 4052, 4054,
        4056, 4058, 4059, 4061, 4063, 4064, 4066, 4068, 4070, 4072, 4073,
        4075, 4077, 4078, 4080, 4082, 4084, 4086, 4087, 4089, 4091, 4092,
        4094, 4095 }
};

static const ISP_CMOS_GAMMA_S g_stIspGammaFSWDR = {
    { 0, 6, 13, 20, 27, 34, 40, 47, 54, 61, 68,
        75, 82, 88, 95, 102, 109, 116, 123, 130, 137, 144,
        151, 157, 164, 171, 178, 185, 192, 199, 206, 213, 220,
        226, 233, 240, 247, 254, 261, 268, 274, 281, 288, 295,
        301, 308, 315, 322, 328, 335, 342, 349, 355, 362, 368,
        375, 382, 388, 395, 401, 408, 414, 421, 427, 434, 440,
        446, 453, 459, 465, 471, 478, 484, 490, 496, 503, 509,
        515, 521, 527, 533, 539, 545, 551, 557, 563, 569, 575,
        581, 587, 593, 599, 605, 611, 617, 623, 629, 635, 641,
        647, 653, 659, 664, 670, 676, 682, 688, 694, 700, 706,
        712, 718, 723, 729, 735, 741, 747, 753, 759, 765, 771,
        777, 783, 789, 795, 801, 806, 812, 819, 825, 831, 837,
        843, 849, 855, 861, 867, 873, 879, 885, 891, 897, 903,
        909, 915, 921, 927, 933, 939, 946, 952, 958, 964, 970,
        976, 982, 988, 994, 1000, 1006, 1012, 1018, 1024, 1030, 1036,
        1042, 1049, 1055, 1061, 1067, 1073, 1079, 1085, 1091, 1097, 1103,
        1109, 1115, 1121, 1127, 1133, 1139, 1144, 1150, 1156, 1162, 1168,
        1174, 1180, 1186, 1192, 1198, 1204, 1209, 1215, 1221, 1227, 1233,
        1239, 1244, 1250, 1256, 1262, 1268, 1273, 1279, 1285, 1291, 1297,
        1302, 1308, 1314, 1320, 1325, 1331, 1337, 1343, 1348, 1354, 1360,
        1366, 1371, 1377, 1383, 1389, 1394, 1400, 1406, 1411, 1417, 1423,
        1428, 1434, 1440, 1445, 1451, 1457, 1462, 1468, 1473, 1479, 1485,
        1490, 1496, 1502, 1507, 1513, 1518, 1524, 1530, 1535, 1541, 1546,
        1552, 1557, 1563, 1569, 1574, 1580, 1585, 1591, 1596, 1602, 1607,
        1613, 1618, 1624, 1629, 1635, 1640, 1646, 1651, 1657, 1662, 1668,
        1673, 1678, 1684, 1689, 1695, 1700, 1706, 1711, 1717, 1722, 1727,
        1733, 1738, 1744, 1749, 1754, 1760, 1765, 1770, 1776, 1781, 1787,
        1792, 1797, 1803, 1808, 1813, 1819, 1824, 1829, 1835, 1840, 1845,
        1850, 1856, 1861, 1866, 1872, 1877, 1882, 1887, 1893, 1898, 1903,
        1908, 1914, 1919, 1924, 1929, 1934, 1940, 1945, 1950, 1955, 1960,
        1966, 1971, 1976, 1981, 1987, 1992, 1997, 2002, 2007, 2012, 2018,
        2023, 2028, 2033, 2038, 2043, 2049, 2054, 2059, 2064, 2069, 2074,
        2079, 2084, 2089, 2095, 2100, 2105, 2110, 2115, 2120, 2125, 2130,
        2135, 2140, 2145, 2150, 2155, 2160, 2165, 2170, 2175, 2179, 2184,
        2189, 2194, 2199, 2204, 2209, 2214, 2218, 2223, 2228, 2233, 2238,
        2242, 2247, 2252, 2256, 2261, 2266, 2271, 2275, 2280, 2285, 2289,
        2294, 2299, 2303, 2308, 2313, 2317, 2322, 2326, 2331, 2335, 2340,
        2345, 2349, 2354, 2358, 2363, 2367, 2372, 2376, 2381, 2385, 2390,
        2394, 2399, 2403, 2407, 2412, 2416, 2421, 2425, 2429, 2434, 2438,
        2442, 2447, 2451, 2455, 2460, 2464, 2468, 2472, 2477, 2481, 2485,
        2489, 2493, 2498, 2502, 2506, 2510, 2514, 2518, 2523, 2527, 2531,
        2535, 2539, 2543, 2547, 2551, 2555, 2558, 2562, 2566, 2570, 2574,
        2578, 2582, 2585, 2589, 2593, 2597, 2601, 2604, 2608, 2612, 2616,
        2619, 2623, 2627, 2631, 2634, 2638, 2642, 2646, 2649, 2653, 2657,
        2660, 2664, 2668, 2671, 2675, 2679, 2683, 2686, 2690, 2694, 2697,
        2701, 2705, 2708, 2712, 2716, 2719, 2723, 2727, 2730, 2734, 2738,
        2741, 2745, 2749, 2752, 2756, 2760, 2764, 2768, 2771, 2775, 2779,
        2782, 2786, 2789, 2793, 2796, 2800, 2804, 2807, 2811, 2814, 2818,
        2821, 2825, 2828, 2832, 2835, 2839, 2842, 2846, 2849, 2853, 2856,
        2860, 2863, 2867, 2870, 2873, 2877, 2880, 2884, 2887, 2891, 2894,
        2897, 2901, 2904, 2908, 2911, 2914, 2918, 2921, 2924, 2928, 2931,
        2934, 2938, 2941, 2944, 2948, 2951, 2954, 2958, 2961, 2964, 2967,
        2971, 2974, 2977, 2981, 2984, 2987, 2990, 2994, 2997, 3000, 3003,
        3006, 3010, 3013, 3016, 3019, 3023, 3026, 3029, 3032, 3035, 3038,
        3042, 3045, 3048, 3051, 3054, 3057, 3061, 3064, 3067, 3070, 3073,
        3076, 3079, 3082, 3086, 3089, 3092, 3095, 3098, 3101, 3104, 3107,
        3110, 3113, 3116, 3119, 3122, 3125, 3129, 3132, 3135, 3138, 3141,
        3144, 3147, 3150, 3153, 3156, 3159, 3162, 3165, 3168, 3171, 3174,
        3177, 3180, 3183, 3185, 3188, 3191, 3194, 3197, 3200, 3203, 3206,
        3209, 3212, 3215, 3218, 3221, 3224, 3227, 3229, 3232, 3235, 3238,
        3241, 3244, 3247, 3250, 3252, 3255, 3258, 3261, 3264, 3267, 3270,
        3272, 3275, 3278, 3281, 3284, 3287, 3289, 3292, 3295, 3298, 3301,
        3303, 3306, 3309, 3312, 3315, 3317, 3320, 3323, 3326, 3328, 3331,
        3334, 3337, 3339, 3342, 3345, 3348, 3350, 3353, 3356, 3359, 3361,
        3364, 3367, 3370, 3372, 3375, 3378, 3380, 3383, 3386, 3388, 3391,
        3394, 3396, 3399, 3402, 3405, 3407, 3410, 3413, 3415, 3418, 3420,
        3423, 3426, 3428, 3431, 3434, 3436, 3439, 3442, 3444, 3447, 3449,
        3452, 3455, 3457, 3460, 3462, 3465, 3468, 3470, 3473, 3475, 3478,
        3481, 3483, 3486, 3488, 3491, 3493, 3496, 3498, 3501, 3504, 3506,
        3509, 3511, 3514, 3516, 3519, 3521, 3524, 3526, 3529, 3531, 3534,
        3536, 3539, 3541, 3544, 3546, 3549, 3551, 3554, 3556, 3559, 3561,
        3564, 3566, 3569, 3571, 3574, 3576, 3579, 3581, 3584, 3586, 3588,
        3591, 3593, 3596, 3598, 3601, 3603, 3606, 3608, 3610, 3613, 3615,
        3618, 3620, 3622, 3625, 3627, 3630, 3632, 3634, 3637, 3639, 3642,
        3644, 3646, 3649, 3651, 3654, 3656, 3658, 3661, 3663, 3665, 3668,
        3670, 3673, 3675, 3677, 3680, 3682, 3684, 3687, 3689, 3691, 3694,
        3696, 3698, 3701, 3703, 3705, 3708, 3710, 3712, 3714, 3717, 3719,
        3721, 3724, 3726, 3728, 3731, 3733, 3735, 3737, 3740, 3742, 3744,
        3747, 3749, 3751, 3753, 3756, 3758, 3760, 3762, 3765, 3767, 3769,
        3771, 3774, 3776, 3778, 3780, 3783, 3785, 3787, 3789, 3792, 3794,
        3796, 3798, 3801, 3803, 3805, 3807, 3809, 3812, 3814, 3816, 3818,
        3820, 3823, 3825, 3827, 3829, 3831, 3834, 3836, 3838, 3840, 3842,
        3844, 3847, 3849, 3851, 3853, 3855, 3857, 3860, 3862, 3864, 3866,
        3868, 3870, 3873, 3875, 3877, 3879, 3881, 3883, 3885, 3888, 3890,
        3892, 3894, 3896, 3898, 3900, 3902, 3905, 3907, 3909, 3911, 3913,
        3915, 3917, 3919, 3921, 3924, 3926, 3928, 3930, 3932, 3934, 3936,
        3938, 3940, 3942, 3944, 3946, 3949, 3951, 3953, 3955, 3957, 3959,
        3961, 3963, 3965, 3967, 3969, 3971, 3973, 3975, 3977, 3979, 3981,
        3984, 3986, 3988, 3990, 3992, 3994, 3996, 3998, 4000, 4002, 4004,
        4006, 4008, 4010, 4012, 4014, 4016, 4018, 4020, 4022, 4024, 4026,
        4028, 4030, 4032, 4034, 4036, 4038, 4040, 4042, 4044, 4046, 4048,
        4050, 4052, 4054, 4056, 4058, 4060, 4062, 4064, 4066, 4068, 4070,
        4072, 4074, 4075, 4077, 4079, 4081, 4083, 4085, 4087, 4089, 4091,
        4093, 4095 }
};

static const ISP_CMOS_PREGAMMA_S g_stPreGamma = {
    0,
    { 3821, 7131, 9741, 11691, 13307, 14713, 15971, 17118,
        18179, 20099, 21818, 23385, 24833, 26185, 27456, 28659,
        29804, 30897, 31945, 32952, 33923, 35770, 37506, 39150,
        40713, 42207, 43638, 45014, 46340, 47622, 48863, 50066,
        51235, 52373, 53481, 54561, 55616, 57656, 59611, 61491,
        63303, 65054, 66749, 68393, 69990, 71543, 73057, 74533,
        75974, 77383, 78761, 80110, 81432, 83999, 86475, 88866,
        91182, 93428, 95609, 97731, 99799, 101815, 103784, 105708,
        107590, 109433, 111239, 113010, 114747, 118128, 121395, 124558,
        127626, 130606, 133505, 136330, 139084, 141773, 144402, 146973,
        149491, 151957, 154376, 156749, 159079, 161368, 163618, 165831,
        168008, 170152, 172263, 174342, 176392, 178413, 180407, 182374,
        184315, 186232, 188125, 189995, 191842, 193668, 197259, 200771,
        204210, 207580, 210884, 214126, 217308, 220435, 223509, 226532,
        229506, 232434, 235318, 238159, 240959, 243720, 246443, 249130,
        251782, 254400, 256986, 259540, 262064, 264559, 267025, 269464,
        271876, 274262, 276623, 278960, 281273, 283562, 288076, 292504,
        296852, 301124, 305323, 309452, 313515, 317515, 321454, 325335,
        329160, 332931, 336651, 340322, 343945, 347521, 351054, 354543,
        357991, 361399, 364767, 368099, 371394, 374653, 377878, 381070,
        384230, 387358, 390456, 393523, 396562, 399573, 405512, 411348,
        417083, 422724, 428274, 433738, 439119, 444420, 449646, 454798,
        459880, 464894, 469842, 474728, 479554, 484320, 489030, 493685,
        498287, 502838, 507339, 511791, 516197, 520557, 524874, 529147,
        533378, 537569, 541720, 545833, 549908, 553946, 557949, 561917,
        565852, 569753, 577458, 585040, 592504, 599854, 607096, 614234,
        621272, 628214, 635064, 641824, 648498, 655090, 661601, 668035,
        674394, 680681, 686897, 693045, 699128, 705146, 711103, 716999,
        722836, 728616, 734341, 740012, 745630, 751197, 756713, 762181,
        767602, 778305, 788831, 799189, 809384, 819425, 829318, 839069,
        848683, 858166, 867523, 876757, 885875, 894879, 903774, 912563,
        921249, 938329, 955037, 971395, 987423, 1003139, 1018560, 1033701,
        1048575 }
};

static const ISP_CMOS_SHARPEN_S g_stIspYuvSharpen = {
    /* u8SkinUmin */
    110,
    /* u8SkinVmin */
    128,
    /* u8SkinUmax */
    128,
    /* u8SkinVmax */
    149,

    /* Manual Para */
    { /* au8LumaWgt */
        { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
            31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
        /* u16TextureStr */
        { 250, 420, 390, 390, 390, 390, 390, 370, 350, 330, 310,
            290, 270, 270, 270, 270, 270, 270, 266, 260, 244, 230,
            230, 230, 230, 230, 230, 210, 190, 190, 170, 150 },
        /* u16EdgeStr */
        { 120, 123, 125, 128, 130, 135, 140, 148, 160, 168, 180,
            190, 200, 210, 210, 210, 210, 210, 200, 190, 185, 175,
            165, 160, 146, 136, 130, 128, 125, 123, 120, 120 },
        /* u16TextureFreq; */
        160,
        /* u16EdgeFreq; */
        100,
        /* u8OverShoot; */
        55,
        /* u8UnderShoot; */
        70,
        /* u8shootSupStr; */
        10,
        /* u8shootSupAdj; */
        9,
        /* u8DetailCtrl; */
        128,
        /* u8DetailCtrlThr; */
        180,
        /* u8EdgeFiltStr; */
        60,
        /*u8EdgeFiltMaxCap; */
        18,
        /*u8RGain; */
        28,
        /* u8GGain; */
        32,
        /* u8BGain; */
        31,
        /* u8SkinGain; */
        23,
        /* u8MaxSharpGain; */
        67,
        /* u8WeakDetailGain */
        6 },
    /* Auto Para */
    { /* au16LumaWgt */
        /* ISO */
        /*     100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400,3276800 */
        { { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 1, 1, 1 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 2, 2, 2 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 4, 4, 4 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 5, 5, 5 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 7, 7, 7 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 8, 8, 8 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 9, 9, 9 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 10, 10, 10 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 12, 12, 12 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 13, 13, 13 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 14, 14, 14 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 15, 15, 15 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 17, 17, 17 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 18, 18, 18 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 19, 19, 19 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 20, 20, 20 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 22, 22, 22 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 23, 23, 23 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 24, 24, 24 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28 } },
        /* au16TextureStr  */
        /* ISO */
        /*     100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400,3276800 */
        { { 269, 262, 190, 137, 146, 146, 131, 112, 114, 112, 87, 87, 76, 28,
              28, 28 },
            { 376, 312, 251, 161, 161, 161, 147, 130, 167, 130, 101, 101, 130,
                43, 43, 43 },
            { 463, 366, 309, 186, 176, 176, 163, 150, 221, 150, 116, 116, 185,
                59, 59, 59 },
            { 492, 414, 359, 210, 191, 191, 179, 168, 273, 168, 132, 132, 238,
                75, 75, 75 },
            { 495, 449, 402, 233, 205, 205, 195, 186, 322, 186, 147, 147, 288,
                91, 91, 91 },
            { 488, 463, 435, 253, 217, 217, 209, 201, 365, 201, 162, 162, 332,
                106, 106, 106 },
            { 476, 464, 459, 272, 229, 230, 222, 216, 406, 216, 176, 176, 372,
                121, 121, 121 },
            { 470, 459, 471, 289, 241, 241, 235, 230, 443, 230, 188, 188, 410,
                136, 136, 136 },
            { 465, 455, 476, 305, 252, 252, 247, 243, 478, 243, 199, 199, 444,
                152, 152, 152 },
            { 458, 452, 476, 318, 262, 261, 257, 253, 510, 253, 207, 207, 475,
                167, 167, 167 },
            { 451, 449, 474, 330, 271, 270, 266, 263, 541, 263, 214, 214, 503,
                183, 183, 183 },
            { 445, 444, 470, 340, 280, 279, 274, 271, 568, 271, 220, 220, 527,
                199, 199, 199 },
            { 440, 440, 466, 349, 288, 286, 281, 279, 588, 279, 225, 225, 546,
                214, 214, 214 },
            { 435, 435, 458, 354, 294, 291, 286, 284, 599, 284, 229, 229, 559,
                228, 228, 228 },
            { 429, 431, 449, 358, 299, 296, 289, 289, 605, 289, 232, 232, 568,
                241, 241, 241 },
            { 421, 427, 440, 361, 303, 299, 292, 292, 605, 292, 233, 233, 572,
                254, 254, 254 },
            { 410, 421, 429, 362, 307, 302, 294, 294, 603, 294, 235, 235, 573,
                267, 267, 267 },
            { 399, 411, 417, 361, 309, 302, 294, 294, 594, 294, 235, 235, 568,
                283, 283, 283 },
            { 386, 399, 405, 358, 309, 301, 294, 292, 579, 292, 234, 234, 556,
                298, 298, 298 },
            { 375, 385, 394, 353, 307, 298, 292, 288, 558, 288, 232, 232, 535,
                313, 313, 313 },
            { 363, 370, 382, 347, 303, 294, 289, 283, 538, 283, 228, 228, 511,
                325, 325, 325 },
            { 353, 352, 372, 339, 298, 289, 286, 276, 516, 276, 223, 223, 482,
                338, 338, 338 },
            { 336, 334, 361, 330, 292, 283, 282, 269, 489, 269, 217, 217, 450,
                348, 348, 348 },
            { 320, 320, 351, 320, 286, 277, 277, 262, 459, 262, 210, 210, 417,
                353, 353, 353 },
            { 309, 308, 339, 307, 280, 270, 271, 254, 422, 254, 201, 201, 383,
                350, 350, 350 },
            { 300, 299, 328, 292, 273, 263, 264, 246, 380, 246, 191, 191, 347,
                343, 343, 343 },
            { 290, 290, 317, 276, 266, 256, 256, 237, 335, 237, 180, 180, 309,
                330, 330, 330 },
            { 281, 283, 307, 260, 258, 247, 247, 228, 292, 228, 168, 168, 269,
                313, 313, 313 },
            { 270, 275, 296, 242, 246, 235, 235, 217, 249, 217, 155, 155, 224,
                287, 287, 287 },
            { 262, 269, 286, 223, 233, 223, 221, 205, 206, 205, 142, 142, 117,
                254, 254, 254 },
            { 256, 263, 275, 203, 220, 209, 207, 193, 163, 193, 129, 129, 128,
                219, 219, 219 },
            { 258, 258, 265, 184, 207, 197, 193, 182, 121, 182, 118, 118, 80,
                186, 186, 186 } },
        /* au16EdgeStr     */
        /* ISO */
        /* 100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400, 3276800 */
        { { 250, 256, 262, 237, 243, 239, 239, 252, 432, 252, 214, 214, 224,
              224, 224, 224 },
            { 250, 260, 270, 254, 262, 246, 246, 262, 440, 262, 223, 223, 244,
                244, 244, 244 },
            { 250, 264, 279, 271, 282, 253, 253, 274, 451, 274, 233, 233, 265,
                265, 265, 265 },
            { 250, 268, 288, 288, 301, 261, 261, 284, 466, 284, 244, 244, 285,
                285, 285, 285 },
            { 250, 272, 296, 303, 319, 269, 269, 294, 485, 294, 254, 254, 303,
                303, 303, 303 },
            { 250, 276, 305, 315, 333, 277, 277, 301, 503, 301, 264, 264, 319,
                319, 319, 319 },
            { 250, 280, 313, 326, 346, 285, 285, 308, 523, 308, 273, 273, 333,
                333, 333, 333 },
            { 250, 286, 321, 335, 358, 294, 294, 314, 544, 314, 281, 281, 346,
                346, 346, 346 },
            { 250, 292, 328, 345, 368, 302, 302, 319, 565, 319, 288, 288, 357,
                357, 357, 357 },
            { 249, 299, 334, 353, 376, 308, 308, 322, 584, 322, 293, 293, 364,
                364, 364, 364 },
            { 249, 307, 339, 361, 382, 315, 315, 324, 603, 324, 297, 297, 370,
                370, 370, 370 },
            { 249, 316, 344, 368, 387, 321, 321, 326, 622, 326, 300, 300, 374,
                374, 374, 374 },
            { 248, 326, 349, 375, 391, 326, 326, 328, 641, 328, 302, 302, 379,
                379, 379, 379 },
            { 248, 335, 353, 380, 393, 330, 330, 329, 658, 329, 304, 304, 384,
                384, 384, 384 },
            { 248, 344, 357, 384, 394, 333, 333, 329, 671, 329, 305, 305, 390,
                390, 390, 390 },
            { 247, 351, 360, 388, 394, 336, 336, 329, 673, 329, 306, 306, 394,
                394, 394, 394 },
            { 247, 357, 364, 391, 394, 338, 338, 330, 674, 330, 307, 307, 398,
                398, 398, 398 },
            { 246, 361, 367, 392, 394, 338, 338, 330, 683, 330, 307, 307, 398,
                398, 398, 398 },
            { 245, 364, 369, 392, 394, 337, 337, 330, 690, 330, 307, 307, 398,
                398, 398, 398 },
            { 244, 366, 371, 391, 393, 336, 336, 330, 695, 330, 306, 306, 398,
                398, 398, 398 },
            { 243, 366, 373, 388, 389, 334, 334, 329, 696, 329, 305, 305, 398,
                398, 398, 398 },
            { 242, 366, 375, 384, 385, 331, 331, 329, 697, 329, 303, 303, 398,
                398, 398, 398 },
            { 241, 366, 376, 379, 380, 329, 329, 328, 696, 328, 300, 300, 399,
                399, 399, 399 },
            { 241, 366, 377, 374, 375, 326, 326, 328, 697, 328, 296, 296, 402,
                402, 402, 402 },
            { 240, 365, 377, 366, 368, 322, 322, 326, 697, 326, 291, 291, 405,
                405, 405, 405 },
            { 239, 363, 377, 358, 361, 318, 318, 325, 698, 325, 285, 285, 408,
                408, 408, 408 },
            { 238, 361, 377, 348, 353, 314, 314, 323, 699, 323, 279, 279, 411,
                411, 411, 411 },
            { 238, 359, 376, 338, 345, 309, 309, 320, 700, 320, 272, 272, 413,
                413, 413, 413 },
            { 237, 356, 376, 326, 335, 302, 302, 314, 700, 314, 264, 264, 411,
                411, 411, 411 },
            { 236, 353, 375, 313, 324, 295, 295, 307, 700, 307, 257, 257, 408,
                408, 408, 408 },
            { 235, 351, 375, 300, 313, 288, 288, 299, 700, 299, 249, 249, 405,
                405, 405, 405 },
            { 235, 349, 375, 288, 303, 281, 281, 292, 700, 292, 243, 243, 402,
                402, 402, 402 } },
        /* au16TextureFreq */
        /* ISO */
        /* 100,    200,    400,    800,    1600,    3200,    6400,   12800,   25600,   51200,  102400,  204800,  409600,  819200, 1638400, 3276800 */
        { 170, 200, 180, 180, 160, 160, 155, 170, 170, 170, 170, 170, 170,
            170, 170, 170 },

        /* au16EdgeFreq */
        { 130, 115, 100, 100, 100, 100, 100, 100, 100, 100, 96, 96, 96, 96,
            96, 96 },

        /* au8OverShoot */
        { 58, 65, 75, 70, 65, 55, 40, 40, 30, 30, 40, 40, 10, 10, 10, 10 },

        /* au8UnderShoot */
        { 70, 80, 90, 80, 80, 70, 60, 55, 45, 45, 50, 50, 15, 15, 15, 15 },

        /* au16shootSupStr */
        { 8, 12, 7, 7, 7, 6, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0 },

        /* au8ShootSupAdj */
        { 8, 8, 8, 8, 7, 7, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0 },

        /* au8DetailCtrl */
        { 135, 135, 128, 128, 128, 128, 128, 128, 128, 128, 120, 120, 120,
            120, 120, 120 },

        /* au8DetailCtrlThr */
        { 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
            160, 160, 160 },

        /* au8EdgeFiltStr */
        { 50, 50, 50, 55, 57, 60, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62 },

        /* au8EdgeFiltMaxCap */
        { 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 },

        /* au8RGain */
        { 28, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },

        /* au8GGain */
        { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 },

        /* au8BGain */
        { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },

        /* au8SkinGain */
        { 27, 27, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },

        /* u8MaxSharpGain */
        { 67, 70, 72, 74, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80 },
        /* au8WeakDetailGain                          */
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

    },
};

static const ISP_CMOS_SHARPEN_S g_stIspYuvSharpenWdr = {
    /* u8SkinUmin */
    110,
    /* u8SkinVmin */
    128,
    /* u8SkinUmax */
    128,
    /* u8SkinVmax */
    149,

    /* Manual Para */
    { /* au8LumaWgt */
        { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
            31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
        /* u16TextureStr */
        { 250, 420, 390, 390, 390, 390, 390, 370, 350, 330, 310,
            290, 270, 270, 270, 270, 270, 270, 266, 260, 244, 230,
            230, 230, 230, 230, 230, 210, 190, 190, 170, 150 },
        /* u16EdgeStr */
        { 120, 123, 125, 128, 130, 135, 140, 148, 160, 168, 180,
            190, 200, 210, 210, 210, 210, 210, 200, 190, 185, 175,
            165, 160, 146, 136, 130, 128, 125, 123, 120, 120 },
        /* u16TextureFreq; */
        160,
        /* u16EdgeFreq; */
        100,
        /* u8OverShoot; */
        55,
        /* u8UnderShoot; */
        70,
        /* u8shootSupStr; */
        10,
        /* u8shootSupAdj; */
        9,
        /* u8DetailCtrl; */
        128,
        /* u8DetailCtrlThr; */
        180,
        /* u8EdgeFiltStr; */
        60,
        /*u8EdgeFiltMaxCap; */
        18,
        /*u8RGain; */
        28,
        /* u8GGain; */
        32,
        /* u8BGain; */
        31,
        /* u8SkinGain; */
        23,
        /* u8MaxSharpGain; */
        67,
        /* u8WeakDetailGain */
        6 },
    /* Auto Para */
    { /* au16LumaWgt */
        /* ISO */
        /*     100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400,3276800 */
        { { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 1, 1, 1 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 2, 2, 2 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 4, 4, 4 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 5, 5, 5 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 7, 7, 7 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 8, 8, 8 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 9, 9, 9 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 10, 10, 10 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 12, 12, 12 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 13, 13, 13 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 14, 14, 14 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 15, 15, 15 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 17, 17, 17 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 18, 18, 18 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 19, 19, 19 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 20, 20, 20 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 22, 22, 22 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 23, 23, 23 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 24, 24, 24 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28 } },
        /* au16TextureStr  */
        /* ISO */
        /*     100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400,3276800 */
        { { 265, 235, 201, 190, 182, 135, 135, 101, 93, 70, 70, 70, 76, 28,
              28, 28 },
            { 285, 261, 223, 210, 201, 153, 153, 112, 104, 77, 77, 77, 130, 43,
                43, 43 },
            { 307, 289, 247, 232, 221, 172, 172, 123, 115, 85, 85, 85, 185, 59,
                59, 59 },
            { 327, 315, 269, 252, 240, 190, 190, 134, 126, 93, 93, 93, 238, 75,
                75, 75 },
            { 347, 338, 290, 271, 258, 207, 207, 146, 137, 101, 101, 101, 288,
                91, 91, 91 },
            { 365, 356, 308, 286, 273, 221, 221, 158, 146, 107, 107, 107, 332,
                106, 106, 106 },
            { 382, 371, 325, 300, 288, 233, 233, 171, 156, 114, 114, 114, 372,
                121, 121, 121 },
            { 398, 384, 340, 312, 301, 245, 245, 184, 165, 120, 120, 120, 410,
                136, 136, 136 },
            { 411, 396, 353, 324, 313, 256, 256, 197, 174, 127, 127, 127, 444,
                152, 152, 152 },
            { 420, 405, 363, 334, 321, 265, 265, 208, 183, 134, 134, 134, 475,
                167, 167, 167 },
            { 428, 412, 371, 343, 328, 274, 274, 220, 192, 141, 141, 141, 503,
                183, 183, 183 },
            { 433, 417, 377, 350, 334, 282, 282, 231, 200, 148, 148, 148, 527,
                199, 199, 199 },
            { 438, 421, 383, 357, 339, 290, 290, 241, 207, 154, 154, 154, 546,
                214, 214, 214 },
            { 440, 423, 386, 361, 343, 296, 296, 249, 211, 157, 157, 157, 559,
                228, 228, 228 },
            { 441, 423, 389, 364, 347, 301, 301, 256, 213, 160, 160, 160, 568,
                241, 241, 241 },
            { 441, 422, 390, 366, 349, 306, 306, 262, 215, 161, 161, 161, 572,
                254, 254, 254 },
            { 440, 421, 391, 368, 351, 309, 309, 265, 216, 163, 163, 163, 573,
                267, 267, 267 },
            { 438, 418, 391, 367, 350, 310, 310, 263, 215, 163, 163, 163, 568,
                283, 283, 283 },
            { 434, 413, 390, 365, 348, 310, 310, 257, 214, 163, 163, 163, 556,
                298, 298, 298 },
            { 427, 406, 385, 362, 345, 307, 307, 250, 210, 161, 161, 161, 535,
                313, 313, 313 },
            { 417, 397, 377, 357, 340, 302, 302, 243, 205, 157, 157, 157, 511,
                325, 325, 325 },
            { 406, 386, 367, 352, 335, 296, 296, 235, 198, 152, 152, 152, 482,
                338, 338, 338 },
            { 393, 374, 356, 345, 329, 289, 289, 226, 191, 146, 146, 146, 450,
                348, 348, 348 },
            { 381, 362, 345, 338, 322, 281, 281, 218, 184, 140, 140, 140, 417,
                353, 353, 353 },
            { 368, 349, 334, 328, 313, 271, 271, 208, 176, 132, 132, 132, 383,
                350, 350, 350 },
            { 356, 335, 323, 317, 303, 260, 260, 198, 167, 124, 124, 124, 347,
                343, 343, 343 },
            { 343, 322, 312, 305, 291, 247, 247, 188, 159, 115, 115, 115, 309,
                330, 330, 330 },
            { 330, 309, 300, 292, 279, 235, 235, 178, 150, 108, 108, 108, 269,
                313, 313, 313 },
            { 316, 296, 285, 277, 264, 221, 221, 167, 140, 100, 100, 100, 224,
                287, 287, 287 },
            { 301, 283, 270, 261, 247, 206, 206, 157, 130, 93, 93, 93, 117, 254,
                254, 254 },
            { 287, 270, 254, 245, 230, 191, 191, 147, 120, 86, 86, 86, 128, 219,
                219, 219 },
            { 273, 258, 239, 229, 214, 176, 176, 137, 110, 80, 80, 80, 80, 186,
                186, 186 } },
        /* au16EdgeStr     */
        /* ISO */
        /* 100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400, 3276800 */
        { { 313, 313, 281, 311, 317, 317, 393, 393, 393, 338, 338, 338, 224,
              224, 224, 224 },
            { 317, 317, 282, 315, 317, 317, 393, 393, 393, 338, 338, 338, 244,
                244, 244, 244 },
            { 322, 322, 283, 320, 318, 317, 393, 393, 393, 338, 338, 338, 265,
                265, 265, 265 },
            { 327, 327, 285, 325, 319, 318, 393, 393, 393, 338, 338, 338, 285,
                285, 285, 285 },
            { 332, 332, 287, 331, 320, 318, 393, 393, 393, 338, 338, 338, 303,
                303, 303, 303 },
            { 336, 336, 288, 336, 321, 318, 393, 393, 393, 338, 338, 338, 319,
                319, 319, 319 },
            { 341, 341, 290, 341, 322, 319, 393, 393, 393, 338, 338, 338, 333,
                333, 333, 333 },
            { 345, 345, 291, 347, 322, 319, 393, 393, 393, 338, 338, 338, 346,
                346, 346, 346 },
            { 349, 349, 293, 352, 323, 320, 393, 393, 393, 338, 338, 338, 357,
                357, 357, 357 },
            { 352, 352, 294, 357, 324, 320, 393, 393, 393, 338, 338, 338, 364,
                364, 364, 364 },
            { 355, 355, 296, 362, 325, 320, 393, 393, 393, 338, 338, 338, 370,
                370, 370, 370 },
            { 358, 358, 297, 367, 326, 321, 393, 393, 393, 338, 338, 338, 374,
                374, 374, 374 },
            { 360, 360, 299, 371, 327, 321, 393, 393, 393, 338, 338, 338, 379,
                379, 379, 379 },
            { 363, 363, 300, 375, 327, 321, 393, 393, 393, 338, 338, 338, 384,
                384, 384, 384 },
            { 365, 365, 301, 378, 328, 321, 393, 393, 393, 338, 338, 338, 390,
                390, 390, 390 },
            { 366, 366, 302, 380, 329, 321, 393, 393, 393, 338, 338, 338, 394,
                394, 394, 394 },
            { 368, 368, 303, 383, 330, 322, 393, 393, 393, 338, 338, 338, 398,
                398, 398, 398 },
            { 368, 368, 303, 384, 330, 322, 393, 393, 393, 338, 338, 338, 398,
                398, 398, 398 },
            { 369, 369, 304, 385, 331, 322, 393, 393, 393, 338, 338, 338, 398,
                398, 398, 398 },
            { 369, 369, 304, 385, 332, 321, 393, 393, 393, 338, 338, 338, 398,
                398, 398, 398 },
            { 369, 369, 304, 384, 332, 321, 393, 393, 393, 338, 338, 338, 398,
                398, 398, 398 },
            { 368, 368, 304, 383, 333, 321, 393, 393, 393, 338, 338, 338, 398,
                398, 398, 398 },
            { 367, 367, 304, 381, 333, 321, 393, 393, 393, 338, 338, 338, 399,
                399, 399, 399 },
            { 366, 366, 304, 380, 334, 321, 393, 393, 393, 338, 338, 338, 402,
                402, 402, 402 },
            { 364, 364, 304, 378, 335, 320, 393, 393, 393, 338, 338, 338, 405,
                405, 405, 405 },
            { 362, 362, 304, 375, 335, 320, 393, 393, 393, 338, 338, 338, 408,
                408, 408, 408 },
            { 360, 360, 303, 373, 336, 320, 393, 393, 393, 338, 338, 338, 411,
                411, 411, 411 },
            { 358, 358, 303, 371, 336, 320, 393, 393, 393, 338, 338, 338, 413,
                413, 413, 413 },
            { 356, 356, 303, 369, 337, 319, 393, 393, 393, 338, 338, 338, 411,
                411, 411, 411 },
            { 353, 353, 303, 367, 337, 319, 393, 393, 393, 338, 338, 338, 408,
                408, 408, 408 },
            { 351, 351, 303, 365, 338, 319, 393, 393, 393, 338, 338, 338, 405,
                405, 405, 405 },
            { 349, 349, 303, 364, 339, 319, 393, 393, 393, 338, 338, 338, 402,
                402, 402, 402 } },
        /* au16TextureFreq */
        /* ISO */
        /* 100,    200,    400,    800,    1600,    3200,    6400,   12800,   25600,   51200,  102400,  204800,  409600,  819200, 1638400, 3276800 */
        { 160, 170, 180, 180, 160, 160, 155, 170, 170, 170, 170, 170, 170,
            170, 170, 170 },

        /* au16EdgeFreq */
        { 130, 115, 100, 100, 100, 100, 100, 100, 100, 100, 96, 96, 96, 96,
            96, 96 },

        /* au8OverShoot */
        { 58, 70, 75, 70, 65, 55, 40, 40, 30, 30, 40, 40, 10, 10, 10, 10 },

        /* au8UnderShoot */
        { 70, 87, 90, 80, 80, 70, 60, 55, 45, 45, 50, 50, 15, 15, 15, 15 },

        /* au16shootSupStr */
        { 8, 8, 7, 7, 7, 6, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0 },

        /* au8ShootSupAdj */
        { 9, 9, 8, 8, 7, 7, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0 },

        /* au8DetailCtrl */
        { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 120, 120, 120,
            120, 120, 120 },

        /* au8DetailCtrlThr */
        { 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
            160, 160, 160 },

        /* au8EdgeFiltStr */
        { 50, 50, 50, 55, 57, 60, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62 },

        /* au8EdgeFiltMaxCap */
        { 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 },

        /* au8RGain */
        { 28, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },

        /* au8GGain */
        { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 },

        /* au8BGain */
        { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },

        /* au8SkinGain */
        { 25, 27, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },

        /* u8MaxSharpGain */
        { 67, 70, 72, 74, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80 },
        /* au8WeakDetailGain                          */
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

    },
};

static AWB_CCM_S g_stAwbCcm = {
    3,
    {
        {
            4884,
            {
                0x01DA,
                0x80C7,
                0x8013,
                0x8068,
                0x01D9,
                0x8071,
                0x8001,
                0x80EA,
                0x01EB,
            },
        },
        {
            3636,
            {
                0x01FD,
                0x80F2,
                0x800B,
                0x808F,
                0x01F2,
                0x8063,
                0x0008,
                0x80F1,
                0x01E9,
            },
        },
        {
            2430,
            {
                0x01FD,
                0x80F2,
                0x800B,
                0x808F,
                0x01F2,
                0x8063,
                0x0008,
                0x80F1,
                0x01E9,
            },
        },
        {
            2100,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
                0x0000, 0x0000, 0x0100 },
        },
        {
            1600,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
                0x0000, 0x0000, 0x0100 },
        },
        {
            1400,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
                0x0000, 0x0000, 0x0100 },
        },
        {
            1000,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
                0x0000, 0x0000, 0x0100 },
        },
    },
};

static AWB_CCM_S g_stAwbCcmFsWdr = {
    3,
    {
        {
            4884,
            {
                0x01DA,
                0x80C7,
                0x8013,
                0x8068,
                0x01D9,
                0x8071,
                0x8001,
                0x80EA,
                0x01EB,
            },
        },
        {
            3636,
            {
                0x01FD,
                0x80F2,
                0x800B,
                0x808F,
                0x01F2,
                0x8063,
                0x0008,
                0x80F1,
                0x01E9,
            },
        },
        {
            2430,
            {
                0x01FD,
                0x80F2,
                0x800B,
                0x808F,
                0x01F2,
                0x8063,
                0x0008,
                0x80F1,
                0x01E9,
            },
        },
        {
            2100,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
                0x0000, 0x0000, 0x0100 },
        },
        {
            1600,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
                0x0000, 0x0000, 0x0100 },
        },
        {
            1400,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
                0x0000, 0x0000, 0x0100 },
        },
        {
            1000,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
                0x0000, 0x0000, 0x0100 },
        },
    },
};

static AWB_AGC_TABLE_S g_stAwbAgcTable = {
    /* bvalid */
    1,

    /* saturation */
    /*  1,    2,    4,    8,   16,   32,   64,  128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 0x80, 0x78, 0x73, 0x6E, 0x69, 0x5F, 0x58, 0x50, 0x48, 0x40, 0x38,
        0x38, 0x38, 0x38, 0x38, 0x38 }
};

static AWB_AGC_TABLE_S g_stAwbAgcTableFSWDR = {
    /* bvalid */
    1,

    /* saturation */
    /*  1,    2,    4,    8,   16,   32,   64,  128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 128, 120, 115, 110, 105, 100, 95, 90, 85, 80, 75, 70, 56, 56, 56, 56 }
};

static const ISP_CMOS_WDR_S g_stIspWDR = {
    /* bFusionMode */
    1,

    /* bMotionComp */
    1,

    /* u16ShortThr */
    4032,

    /* u16LongThr */
    3008,

    /* bForceLong */
    1,

    /* u16ForceLongLowThr */

    500,

    /* u16ForceLongHigThr */
    700,

    /* bShortExpoChk */
    0,

    /* u16ShortCheckThd */
    0x8,

    /* au8MdThrLowGain[16] */
    /* 1,    2,    4,    8,   16,   32,   64,  128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 64, 64, 64, 64, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
        255 },

    /* au8MdThrHigGain[16] */
    { 128, 128, 128, 128, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255,
        255, 255 },

    /* au16FusionThr[2] */
    { 3855, 3000 },

    /* u8MdtStillThd */
    0x14,

    /* u8MdtLongBlend */
    0x0
};

static const ISP_CMOS_DEHAZE_S g_stIspDehaze = {
    /* bEnable */
    0,
    /* bUserLutEnable */
    0,
    /* enOpType */
    0,
    /* u8AutoStrength */
    128,
    /* u8ManualStrength */
    128
};

static const ISP_CMOS_DEHAZE_S g_stIspDehazeWDR = {
    /* bEnable */
    1,
    /* bUserLutEnable */
    1,
    /* enOpType */
    1,
    /* u8AutoStrength */
    100,
    /* u8ManualStrength */
    128
};

static const ISP_CMOS_DRC_S g_stIspDRC = {
    /* bEnable */
    0,
    /* enOpType */
    0,
    /* u16ManualStrength */
    512,
    /* u16AutoStrength */
    512,
    /* u8SpatialFltCoef */
    1,
    /* u8RangeFltCoef */
    2,
    /* u8ContrastControl */
    8,
    /* s8DetailAdjustFactor */
    0,
    /* u8RangeAdaMax */
    8,
    /* u8FltScaleFine */
    6,
    /* u8FltScaleCoarse */
    6,
    /* u8GradRevMax */
    64,
    /* u8GradRevThr */
    50,
    /* u8BrightGainLmt */
    12,
    /* u8BrightGainLmtStep */
    8,
    /* u8DarkGainLmtY */
    0,
    /* u8DarkGainLmtC */
    0,
    /* u8PDStrength */
    35,
    /* u8LocalMixingBrightMax */
    64,
    /* u8LocalMixingBrightMin */
    32,
    /* u8LocalMixingBrightThr */
    96,
    /* s8LocalMixingBrightSlo */
    -3,
    /* u8LocalMixingDarkMax */
    64,
    /* u8LocalMixingDarkMin */
    32,
    /* u8LocalMixingDarkThr */
    200,
    /* s8LocalMixingDarkSlo */
    5,
    /* ColorCorrectionLut[33] */
    { 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
        1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
        1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024 },
    /* ToneMappingValue[200] */
    { 8, 8, 16, 24, 31, 39, 48, 56, 65, 75,
        85, 95, 106, 118, 130, 143, 156, 170, 185, 201,
        218, 235, 254, 274, 294, 316, 339, 364, 390, 417,
        446, 477, 509, 543, 579, 617, 658, 701, 746, 794,
        844, 898, 955, 1015, 1078, 1145, 1216, 1291, 1370, 1454,
        1543, 1637, 1736, 1841, 1952, 2069, 2194, 2325, 2465, 2612,
        2767, 2932, 3106, 3290, 3485, 3691, 3909, 4140, 4384, 4641,
        4914, 5202, 5507, 5830, 6171, 6531, 6913, 7316, 7742, 8193,
        8669, 9173, 9705, 10268, 10863, 11492, 12145, 12808, 13483, 14171,
        14872, 15587, 16319, 17069, 17840, 18635, 19458, 19881, 20313, 20754,
        21204, 21661, 22122, 22586, 23053, 23525, 24000, 24480, 24965, 25455,
        25950, 26451, 26959, 27473, 27995, 28524, 29062, 29609, 30165, 30732,
        31309, 31899, 32501, 33116, 33746, 34391, 35043, 35706, 36381, 37066,
        37763, 38472, 39192, 39925, 40671, 41429, 42201, 42591, 42986, 43383,
        43784, 44189, 44597, 45008, 45424, 45842, 46265, 46691, 47121, 47555,
        47993, 48434, 48880, 49329, 49783, 50241, 50703, 51169, 51639, 52113,
        52592, 53075, 53564, 54056, 54552, 55054, 55560, 56071, 56586, 56846,
        57107, 57369, 57632, 57896, 58162, 58429, 58697, 58967, 59238, 59510,
        59783, 60057, 60333, 60611, 60889, 61169, 61451, 61733, 62017, 62303,
        62589, 62877, 63167, 63458, 63750, 64044, 64340, 64636, 64934, 65234 },
    /* u8Asymmetry */
    2,
    /* u8SecondPole */
    180,
    /* u8Stretch */
    54,
    /* u8Compress */
    180,
    /* u8CurveSel */
    0,
    /* au16Xpoint */
    { 0, 200, 400, 600, 1000 },
    /* au16Ypoint */
    { 0, 200, 400, 600, 1000 },
    /* au16Slope */
    { 1000, 1000, 1000, 1000, 1000 }
};

static const ISP_CMOS_DRC_S g_stIspDRCWDR = {
    /* bEnable */
    1,
    /* enOpType */
    0,
    /* u16ManualStrength */
    1023,
    /* u16AutoStrength */
    512,
    /* u8SpatialFltCoef */
    0,
    /* u8RangeFltCoef */
    1,
    /* u8ContrastControl */
    8,
    /* s8DetailAdjustFactor */
    10,
    /* u8RangeAdaMax */
    4,
    /* u8FltScaleFine */
    3,
    /* u8FltScaleCoarse */
    3,
    /* u8GradRevMax */
    30,
    /* u8GradRevThr */
    50,
    /* u8BrightGainLmt */
    15,
    /* u8BrightGainLmtStep */
    10,
    /* u8DarkGainLmtY */
    0,
    /* u8DarkGainLmtC */
    12,
    /* u8PDStrength */
    35,
    /* u8LocalMixingBrightMax */
    32,
    /* u8LocalMixingBrightMin */
    20,
    /* u8LocalMixingBrightThr */
    96,
    /* s8LocalMixingBrightSlo */
    -3,
    /* u8LocalMixingDarkMax */
    30,
    /* u8LocalMixingDarkMin */
    20,
    /* u8LocalMixingDarkThr */
    200,
    /* s8LocalMixingDarkSlo */
    5,
    /* ColorCorrectionLut[33] */
    { 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
        1024, 1024, 1024, 772, 768, 764, 760, 756, 752, 748, 744,
        740, 736, 732, 728, 724, 720, 716, 712, 708, 704, 700 },
    /* ToneMappingValue[200] */
    { 8, 8, 16, 24, 31, 39, 48, 56, 65, 75,
        85, 95, 106, 118, 130, 143, 156, 170, 185, 201,
        218, 235, 254, 274, 294, 316, 339, 364, 390, 417,
        446, 477, 509, 543, 579, 617, 658, 701, 746, 794,
        844, 898, 955, 1015, 1078, 1145, 1216, 1291, 1370, 1454,
        1543, 1637, 1736, 1841, 1952, 2069, 2194, 2325, 2465, 2612,
        2767, 2932, 3106, 3290, 3485, 3691, 3909, 4140, 4384, 4641,
        4914, 5202, 5507, 5830, 6171, 6531, 6913, 7316, 7742, 8193,
        8669, 9173, 9705, 10268, 10863, 11492, 12145, 12808, 13483, 14171,
        14872, 15587, 16319, 17069, 17840, 18635, 19458, 19881, 20313, 20754,
        21204, 21661, 22122, 22586, 23053, 23525, 24000, 24480, 24965, 25455,
        25950, 26451, 26959, 27473, 27995, 28524, 29062, 29609, 30165, 30732,
        31309, 31899, 32501, 33116, 33746, 34391, 35043, 35706, 36381, 37066,
        37763, 38472, 39192, 39925, 40671, 41429, 42201, 42591, 42986, 43383,
        43784, 44189, 44597, 45008, 45424, 45842, 46265, 46691, 47121, 47555,
        47993, 48434, 48880, 49329, 49783, 50241, 50703, 51169, 51639, 52113,
        52592, 53075, 53564, 54056, 54552, 55054, 55560, 56071, 56586, 56846,
        57107, 57369, 57632, 57896, 58162, 58429, 58697, 58967, 59238, 59510,
        59783, 60057, 60333, 60611, 60889, 61169, 61451, 61733, 62017, 62303,
        62589, 62877, 63167, 63458, 63750, 64044, 64340, 64636, 64934, 65234 },
    /* u8Asymmetry */
    6,
    /* u8SecondPole */
    180,
    /* u8Stretch */
    50,
    /* u8Compress */
    150,
    /* u8CurveSel */
    0,
    /* au16Xpoint */
    { 0, 200, 400, 600, 1000 },
    /* au16Ypoint */
    { 0, 200, 400, 600, 1000 },
    /* au16Slope */
    { 1000, 1000, 1000, 1000, 1000 }
};

static const ISP_CMOS_CA_S g_stIspCA = {
    /* CA */
    1,
    /* Y */
    { 516, 525, 534, 544, 554, 563, 573, 583, 594, 604, 614,
        624, 634, 644, 654, 664, 674, 684, 694, 704, 713, 723,
        732, 741, 750, 758, 766, 775, 782, 790, 797, 804, 811,
        817, 823, 828, 834, 839, 844, 848, 853, 857, 861, 865,
        868, 872, 875, 878, 881, 884, 887, 890, 892, 895, 898,
        900, 903, 905, 908, 910, 913, 915, 918, 921, 924, 926,
        929, 932, 935, 937, 940, 943, 945, 948, 950, 952, 955,
        957, 959, 961, 964, 966, 968, 970, 972, 974, 976, 978,
        979, 981, 983, 985, 987, 988, 990, 992, 993, 994, 995,
        996, 997, 998, 998, 999, 1000, 1001, 1002, 1002, 1003, 1004,
        1005, 1006, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014,
        1015, 1016, 1018, 1019, 1020, 1022, 1024 },
    /* ISO */
    /*  1,    2,    4,    8,   16,   32,   64,  128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 1300, 1300, 1250, 1200, 1150, 1100, 1050, 1000, 950, 900, 900, 800,
        800, 800, 800, 800 }
};

static const ISP_CMOS_LSC_S g_stCmosLsc = {
    /* MeshStrength */
    256,
    /* MeshScale */
    1,
    /* ISP_LSC_CABLI_TABLE_S */
    {
        {
            // Rgain:
            { 560, 476, 421, 382, 356, 337, 322, 313, 308, 308, 313,
                325, 338, 360, 391, 433, 492, 526, 456, 408, 370, 346,
                328, 316, 305, 301, 301, 305, 316, 331, 351, 376, 417,
                466, 501, 438, 396, 364, 340, 321, 308, 299, 295, 295,
                300, 309, 322, 340, 366, 400, 447, 483, 425, 385, 355,
                334, 316, 302, 293, 288, 289, 294, 304, 317, 336, 357,
                388, 428, 472, 418, 379, 351, 328, 308, 294, 284, 279,
                280, 287, 298, 313, 330, 352, 382, 420, 462, 411, 377,
                349, 321, 301, 285, 274, 270, 270, 279, 292, 309, 328,
                351, 376, 409, 459, 410, 376, 343, 314, 292, 280, 268,
                262, 263, 270, 283, 304, 324, 348, 373, 406, 459, 411,
                375, 340, 309, 288, 273, 262, 260, 258, 265, 279, 297,
                323, 348, 375, 404, 460, 413, 372, 336, 307, 285, 271,
                260, 257, 256, 262, 275, 294, 320, 348, 374, 406, 466,
                413, 369, 334, 305, 285, 271, 261, 258, 257, 262, 274,
                292, 319, 348, 377, 407, 470, 418, 369, 333, 305, 287,
                275, 263, 258, 258, 263, 275, 293, 318, 349, 380, 411,
                481, 421, 371, 334, 310, 292, 278, 268, 262, 263, 269,
                280, 295, 321, 351, 385, 420, 492, 424, 374, 337, 314,
                296, 284, 274, 268, 270, 276, 286, 302, 326, 355, 391,
                429, 502, 437, 379, 343, 320, 306, 291, 282, 276, 279,
                284, 294, 309, 332, 362, 398, 441, 520, 444, 391, 352,
                332, 313, 299, 290, 285, 287, 293, 302, 315, 338, 368,
                408, 452, 540, 461, 402, 363, 340, 323, 308, 300, 296,
                299, 302, 311, 324, 346, 378, 420, 469, 566, 480, 416,
                377, 351, 331, 317, 309, 309, 308, 311, 320, 333, 355,
                388, 434, 508 },

            // Grgain:
            { 499, 434, 391, 362, 341, 326, 314, 305, 302, 302, 307,
                315, 329, 346, 369, 405, 447, 471, 417, 379, 354, 334,
                319, 307, 299, 296, 297, 301, 309, 322, 338, 361, 391,
                432, 451, 404, 372, 347, 327, 313, 302, 294, 292, 291,
                295, 302, 316, 332, 351, 377, 414, 441, 395, 366, 342,
                324, 308, 297, 289, 285, 286, 291, 298, 310, 327, 345,
                368, 401, 430, 392, 361, 339, 320, 303, 290, 281, 277,
                279, 285, 295, 307, 324, 342, 363, 393, 429, 388, 361,
                337, 314, 296, 281, 272, 267, 268, 277, 289, 304, 320,
                340, 360, 388, 423, 386, 360, 334, 307, 288, 277, 265,
                261, 261, 269, 282, 300, 320, 338, 359, 384, 424, 389,
                360, 330, 303, 283, 269, 260, 258, 258, 263, 277, 296,
                317, 338, 360, 382, 428, 392, 359, 327, 300, 281, 267,
                258, 257, 256, 260, 273, 291, 315, 338, 361, 385, 432,
                393, 355, 325, 299, 281, 269, 258, 256, 256, 261, 273,
                289, 312, 339, 362, 387, 437, 395, 354, 325, 299, 282,
                272, 261, 257, 257, 263, 274, 290, 313, 339, 366, 390,
                444, 397, 355, 325, 303, 286, 275, 266, 261, 262, 269,
                277, 292, 314, 341, 368, 396, 453, 401, 359, 327, 305,
                291, 280, 271, 265, 269, 273, 283, 297, 318, 344, 374,
                402, 462, 406, 365, 333, 314, 298, 286, 278, 273, 276,
                282, 291, 302, 323, 347, 379, 413, 473, 415, 372, 341,
                322, 307, 293, 287, 283, 286, 289, 298, 309, 328, 353,
                388, 422, 493, 431, 382, 351, 330, 315, 302, 294, 292,
                295, 299, 306, 316, 336, 362, 397, 435, 511, 444, 393,
                361, 338, 322, 309, 304, 304, 302, 305, 311, 324, 343,
                369, 407, 466 },

            // Gbgain:
            { 498, 432, 390, 362, 341, 324, 313, 304, 301, 302, 306,
                315, 329, 346, 370, 406, 450, 470, 416, 381, 353, 333,
                318, 307, 299, 296, 296, 301, 308, 321, 338, 359, 391,
                432, 452, 405, 373, 347, 327, 313, 302, 295, 291, 291,
                295, 302, 314, 332, 351, 378, 414, 441, 397, 365, 342,
                323, 308, 297, 289, 285, 287, 290, 298, 311, 327, 346,
                368, 401, 432, 392, 360, 340, 319, 303, 289, 281, 277,
                278, 284, 295, 307, 323, 342, 363, 394, 426, 388, 361,
                337, 313, 294, 281, 272, 267, 268, 276, 288, 304, 320,
                339, 360, 387, 424, 390, 361, 333, 307, 288, 277, 264,
                261, 261, 268, 281, 300, 319, 339, 359, 384, 424, 391,
                360, 330, 303, 284, 269, 261, 258, 257, 264, 276, 294,
                318, 338, 359, 385, 429, 392, 359, 327, 301, 281, 268,
                259, 257, 256, 261, 272, 290, 314, 338, 361, 385, 434,
                394, 357, 325, 299, 281, 269, 259, 256, 256, 261, 272,
                289, 312, 339, 365, 386, 438, 395, 355, 324, 300, 283,
                272, 261, 257, 257, 264, 274, 290, 313, 339, 366, 392,
                445, 398, 356, 324, 303, 287, 275, 265, 260, 261, 269,
                277, 292, 314, 340, 369, 398, 453, 402, 359, 326, 307,
                292, 279, 272, 266, 268, 273, 283, 297, 318, 343, 374,
                405, 463, 409, 366, 333, 312, 298, 286, 278, 273, 277,
                282, 290, 302, 323, 350, 381, 413, 476, 418, 373, 340,
                321, 307, 293, 286, 283, 286, 289, 298, 308, 329, 355,
                387, 423, 492, 430, 383, 351, 330, 316, 302, 295, 292,
                294, 298, 306, 315, 336, 361, 397, 436, 515, 444, 392,
                360, 339, 322, 311, 304, 303, 302, 306, 313, 324, 343,
                369, 406, 468 },

            // Bgain:
            { 483, 424, 385, 358, 341, 324, 311, 304, 301, 301, 306,
                315, 329, 344, 368, 402, 443, 459, 412, 377, 352, 332,
                317, 308, 298, 295, 296, 299, 308, 320, 337, 357, 387,
                424, 440, 399, 369, 345, 327, 313, 304, 295, 291, 291,
                295, 303, 316, 330, 350, 377, 411, 430, 392, 363, 341,
                322, 308, 297, 288, 283, 286, 288, 298, 310, 326, 344,
                369, 399, 423, 388, 359, 338, 319, 302, 290, 281, 275,
                279, 283, 294, 306, 324, 341, 364, 392, 420, 387, 361,
                337, 313, 295, 280, 271, 267, 268, 276, 288, 304, 320,
                339, 357, 385, 419, 387, 362, 335, 306, 286, 275, 264,
                261, 260, 268, 281, 299, 320, 339, 360, 382, 419, 388,
                361, 329, 301, 282, 269, 260, 257, 257, 263, 275, 295,
                316, 338, 358, 382, 424, 394, 358, 327, 298, 280, 267,
                258, 256, 256, 260, 272, 290, 314, 338, 362, 381, 427,
                394, 356, 326, 297, 280, 268, 259, 256, 256, 260, 272,
                288, 311, 338, 363, 384, 436, 397, 356, 324, 298, 282,
                271, 261, 256, 258, 264, 273, 288, 311, 339, 366, 390,
                443, 399, 356, 324, 302, 286, 275, 266, 261, 262, 269,
                278, 291, 314, 339, 369, 397, 451, 403, 359, 327, 306,
                292, 279, 270, 266, 268, 274, 283, 296, 317, 342, 373,
                402, 461, 412, 366, 332, 313, 297, 285, 278, 273, 277,
                282, 290, 301, 322, 350, 380, 413, 471, 419, 375, 340,
                321, 307, 292, 286, 282, 286, 290, 299, 308, 328, 353,
                386, 420, 488, 429, 383, 351, 329, 315, 301, 294, 293,
                295, 298, 306, 315, 333, 359, 395, 435, 508, 444, 394,
                363, 338, 322, 311, 304, 305, 304, 306, 314, 323, 342,
                370, 406, 465 },
        },

        {
            // Rgain:
            { 560, 476, 421, 382, 356, 337, 322, 313, 308, 308, 313,
                325, 338, 360, 391, 433, 492, 526, 456, 408, 370, 346,
                328, 316, 305, 301, 301, 305, 316, 331, 351, 376, 417,
                466, 501, 438, 396, 364, 340, 321, 308, 299, 295, 295,
                300, 309, 322, 340, 366, 400, 447, 483, 425, 385, 355,
                334, 316, 302, 293, 288, 289, 294, 304, 317, 336, 357,
                388, 428, 472, 418, 379, 351, 328, 308, 294, 284, 279,
                280, 287, 298, 313, 330, 352, 382, 420, 462, 411, 377,
                349, 321, 301, 285, 274, 270, 270, 279, 292, 309, 328,
                351, 376, 409, 459, 410, 376, 343, 314, 292, 280, 268,
                262, 263, 270, 283, 304, 324, 348, 373, 406, 459, 411,
                375, 340, 309, 288, 273, 262, 260, 258, 265, 279, 297,
                323, 348, 375, 404, 460, 413, 372, 336, 307, 285, 271,
                260, 257, 256, 262, 275, 294, 320, 348, 374, 406, 466,
                413, 369, 334, 305, 285, 271, 261, 258, 257, 262, 274,
                292, 319, 348, 377, 407, 470, 418, 369, 333, 305, 287,
                275, 263, 258, 258, 263, 275, 293, 318, 349, 380, 411,
                481, 421, 371, 334, 310, 292, 278, 268, 262, 263, 269,
                280, 295, 321, 351, 385, 420, 492, 424, 374, 337, 314,
                296, 284, 274, 268, 270, 276, 286, 302, 326, 355, 391,
                429, 502, 437, 379, 343, 320, 306, 291, 282, 276, 279,
                284, 294, 309, 332, 362, 398, 441, 520, 444, 391, 352,
                332, 313, 299, 290, 285, 287, 293, 302, 315, 338, 368,
                408, 452, 540, 461, 402, 363, 340, 323, 308, 300, 296,
                299, 302, 311, 324, 346, 378, 420, 469, 566, 480, 416,
                377, 351, 331, 317, 309, 309, 308, 311, 320, 333, 355,
                388, 434, 508 },

            // Grgain:
            { 499, 434, 391, 362, 341, 326, 314, 305, 302, 302, 307,
                315, 329, 346, 369, 405, 447, 471, 417, 379, 354, 334,
                319, 307, 299, 296, 297, 301, 309, 322, 338, 361, 391,
                432, 451, 404, 372, 347, 327, 313, 302, 294, 292, 291,
                295, 302, 316, 332, 351, 377, 414, 441, 395, 366, 342,
                324, 308, 297, 289, 285, 286, 291, 298, 310, 327, 345,
                368, 401, 430, 392, 361, 339, 320, 303, 290, 281, 277,
                279, 285, 295, 307, 324, 342, 363, 393, 429, 388, 361,
                337, 314, 296, 281, 272, 267, 268, 277, 289, 304, 320,
                340, 360, 388, 423, 386, 360, 334, 307, 288, 277, 265,
                261, 261, 269, 282, 300, 320, 338, 359, 384, 424, 389,
                360, 330, 303, 283, 269, 260, 258, 258, 263, 277, 296,
                317, 338, 360, 382, 428, 392, 359, 327, 300, 281, 267,
                258, 257, 256, 260, 273, 291, 315, 338, 361, 385, 432,
                393, 355, 325, 299, 281, 269, 258, 256, 256, 261, 273,
                289, 312, 339, 362, 387, 437, 395, 354, 325, 299, 282,
                272, 261, 257, 257, 263, 274, 290, 313, 339, 366, 390,
                444, 397, 355, 325, 303, 286, 275, 266, 261, 262, 269,
                277, 292, 314, 341, 368, 396, 453, 401, 359, 327, 305,
                291, 280, 271, 265, 269, 273, 283, 297, 318, 344, 374,
                402, 462, 406, 365, 333, 314, 298, 286, 278, 273, 276,
                282, 291, 302, 323, 347, 379, 413, 473, 415, 372, 341,
                322, 307, 293, 287, 283, 286, 289, 298, 309, 328, 353,
                388, 422, 493, 431, 382, 351, 330, 315, 302, 294, 292,
                295, 299, 306, 316, 336, 362, 397, 435, 511, 444, 393,
                361, 338, 322, 309, 304, 304, 302, 305, 311, 324, 343,
                369, 407, 466 },

            // Gbgain:
            { 498, 432, 390, 362, 341, 324, 313, 304, 301, 302, 306,
                315, 329, 346, 370, 406, 450, 470, 416, 381, 353, 333,
                318, 307, 299, 296, 296, 301, 308, 321, 338, 359, 391,
                432, 452, 405, 373, 347, 327, 313, 302, 295, 291, 291,
                295, 302, 314, 332, 351, 378, 414, 441, 397, 365, 342,
                323, 308, 297, 289, 285, 287, 290, 298, 311, 327, 346,
                368, 401, 432, 392, 360, 340, 319, 303, 289, 281, 277,
                278, 284, 295, 307, 323, 342, 363, 394, 426, 388, 361,
                337, 313, 294, 281, 272, 267, 268, 276, 288, 304, 320,
                339, 360, 387, 424, 390, 361, 333, 307, 288, 277, 264,
                261, 261, 268, 281, 300, 319, 339, 359, 384, 424, 391,
                360, 330, 303, 284, 269, 261, 258, 257, 264, 276, 294,
                318, 338, 359, 385, 429, 392, 359, 327, 301, 281, 268,
                259, 257, 256, 261, 272, 290, 314, 338, 361, 385, 434,
                394, 357, 325, 299, 281, 269, 259, 256, 256, 261, 272,
                289, 312, 339, 365, 386, 438, 395, 355, 324, 300, 283,
                272, 261, 257, 257, 264, 274, 290, 313, 339, 366, 392,
                445, 398, 356, 324, 303, 287, 275, 265, 260, 261, 269,
                277, 292, 314, 340, 369, 398, 453, 402, 359, 326, 307,
                292, 279, 272, 266, 268, 273, 283, 297, 318, 343, 374,
                405, 463, 409, 366, 333, 312, 298, 286, 278, 273, 277,
                282, 290, 302, 323, 350, 381, 413, 476, 418, 373, 340,
                321, 307, 293, 286, 283, 286, 289, 298, 308, 329, 355,
                387, 423, 492, 430, 383, 351, 330, 316, 302, 295, 292,
                294, 298, 306, 315, 336, 361, 397, 436, 515, 444, 392,
                360, 339, 322, 311, 304, 303, 302, 306, 313, 324, 343,
                369, 406, 468 },

            // Bgain:
            { 483, 424, 385, 358, 341, 324, 311, 304, 301, 301, 306,
                315, 329, 344, 368, 402, 443, 459, 412, 377, 352, 332,
                317, 308, 298, 295, 296, 299, 308, 320, 337, 357, 387,
                424, 440, 399, 369, 345, 327, 313, 304, 295, 291, 291,
                295, 303, 316, 330, 350, 377, 411, 430, 392, 363, 341,
                322, 308, 297, 288, 283, 286, 288, 298, 310, 326, 344,
                369, 399, 423, 388, 359, 338, 319, 302, 290, 281, 275,
                279, 283, 294, 306, 324, 341, 364, 392, 420, 387, 361,
                337, 313, 295, 280, 271, 267, 268, 276, 288, 304, 320,
                339, 357, 385, 419, 387, 362, 335, 306, 286, 275, 264,
                261, 260, 268, 281, 299, 320, 339, 360, 382, 419, 388,
                361, 329, 301, 282, 269, 260, 257, 257, 263, 275, 295,
                316, 338, 358, 382, 424, 394, 358, 327, 298, 280, 267,
                258, 256, 256, 260, 272, 290, 314, 338, 362, 381, 427,
                394, 356, 326, 297, 280, 268, 259, 256, 256, 260, 272,
                288, 311, 338, 363, 384, 436, 397, 356, 324, 298, 282,
                271, 261, 256, 258, 264, 273, 288, 311, 339, 366, 390,
                443, 399, 356, 324, 302, 286, 275, 266, 261, 262, 269,
                278, 291, 314, 339, 369, 397, 451, 403, 359, 327, 306,
                292, 279, 270, 266, 268, 274, 283, 296, 317, 342, 373,
                402, 461, 412, 366, 332, 313, 297, 285, 278, 273, 277,
                282, 290, 301, 322, 350, 380, 413, 471, 419, 375, 340,
                321, 307, 292, 286, 282, 286, 290, 299, 308, 328, 353,
                386, 420, 488, 429, 383, 351, 329, 315, 301, 294, 293,
                295, 298, 306, 315, 333, 359, 395, 435, 508, 444, 394,
                363, 338, 322, 311, 304, 305, 304, 306, 314, 323, 342,
                370, 406, 465 },
        },
    },
};

#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif /* End of #ifdef __cplusplus */

#endif /* __MN34220_CMOS_EX_H_ */
